﻿zju 1883 Tight Words
/*
Tight words 
Time Limit:1000MS  Memory Limit:1024K


Description:
Given is an alphabet {0, 1, ... , k}, 0 <= k <= 9 . We say that a word of length n over this alphabet is tight if any two neighbour digits in the word do not differ by more than 1. Input is a sequence of lines, each line contains two integer numbers k and n, 1 <= n <= 100. For each line of input, output the percentage of tight words of length n over the alphabet {0, 1, ... , k} with 5 fractional digits. 

Sample Input:
4 1
2 5
3 5
8 7
Sample Output:
100.00000
40.74074
17.38281
0.10130

*/
#include<stdio.h>
#include<math.h>
int main()
{
    int k,n;
    while(scanf("%d%d",&k,&n)!=EOF)
    {
        int i,t;
        double f[11][101];
        for(i=0;i<=k;i++)
            f[i][1] = 1;
        for(t = 2; t<=n;t++)
        {
            for(i=0;i<=k;i++)
            {
                f[i][t] = f[i][t-1] ;
                if(i+1<=k)
                   f[i][t] += f[i+1][t-1];
                if(i-1>=0)
                   f[i][t] += f[i-1][t-1];
            }
        }
        double sum=0.0,p;
        for(i=0;i<=k;i++)
            sum += f[i][n];
        p = sum / pow((double)(k+1),(double)n);
        printf("%.5lf\n",p*100);
    }
    return 0;
}